#include <stdint.h>

const uint8_t font8x8_basic[][8] = {
    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},  // U+0020 ( )
    {0x00, 0x00, 0x06, 0x5F, 0x5F, 0x06, 0x00, 0x00},  // U+0021 (!)
    {0x00, 0x03, 0x03, 0x00, 0x03, 0x03, 0x00, 0x00},  // U+0022 (")
    {0x14, 0x7F, 0x7F, 0x14, 0x7F, 0x7F, 0x14, 0x00},  // U+0023 (#)
    {0x24, 0x2E, 0x6B, 0x6B, 0x3A, 0x12, 0x00, 0x00},  // U+0024 ($)
    {0x46, 0x66, 0x30, 0x18, 0x0C, 0x66, 0x62, 0x00},  // U+0025 (%)
    {0x30, 0x7A, 0x4F, 0x5D, 0x37, 0x7A, 0x48, 0x00},  // U+0026 (&)
    {0x04, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00},  // U+0027 (')
    {0x00, 0x1C, 0x3E, 0x63, 0x41, 0x00, 0x00, 0x00},  // U+0028 (()
    {0x00, 0x41, 0x63, 0x3E, 0x1C, 0x00, 0x00, 0x00},  // U+0029 ())
    {0x08, 0x2A, 0x3E, 0x1C, 0x1C, 0x3E, 0x2A, 0x08},  // U+002A (*)
    {0x08, 0x08, 0x3E, 0x3E, 0x08, 0x08, 0x00, 0x00},  // U+002B (+)
    {0x00, 0x80, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00},  // U+002C (,)
    {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00},  // U+002D (-)
    {0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00},  // U+002E (.)
    {0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00},  // U+002F (/)
    {0x3E, 0x7F, 0x71, 0x59, 0x4D, 0x7F, 0x3E, 0x00},  // U+0030 (0)
    {0x40, 0x42, 0x7F, 0x7F, 0x40, 0x40, 0x00, 0x00},  // U+0031 (1)
    {0x62, 0x73, 0x59, 0x49, 0x6F, 0x66, 0x00, 0x00},  // U+0032 (2)
    {0x22, 0x63, 0x49, 0x49, 0x7F, 0x36, 0x00, 0x00},  // U+0033 (3)
    {0x18, 0x1C, 0x16, 0x53, 0x7F, 0x7F, 0x50, 0x00},  // U+0034 (4)
    {0x27, 0x67, 0x45, 0x45, 0x7D, 0x39, 0x00, 0x00},  // U+0035 (5)
    {0x3C, 0x7E, 0x4B, 0x49, 0x79, 0x30, 0x00, 0x00},  // U+0036 (6)
    {0x03, 0x03, 0x71, 0x79, 0x0F, 0x07, 0x00, 0x00},  // U+0037 (7)
    {0x36, 0x7F, 0x49, 0x49, 0x7F, 0x36, 0x00, 0x00},  // U+0038 (8)
    {0x06, 0x4F, 0x49, 0x69, 0x3F, 0x1E, 0x00, 0x00},  // U+0039 (9)
                                                       /*
    { 0x00, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00 },   // U+003A (:)
    { 0x00, 0x80, 0xE6, 0x66, 0x00, 0x00, 0x00, 0x00 },   // U+003B (;)
    { 0x08, 0x1C, 0x36, 0x63, 0x41, 0x00, 0x00, 0x00 },   // U+003C (<)
    { 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x00, 0x00 },   // U+003D (=)
    { 0x00, 0x41, 0x63, 0x36, 0x1C, 0x08, 0x00, 0x00 },   // U+003E (>)
    { 0x02, 0x03, 0x51, 0x59, 0x0F, 0x06, 0x00, 0x00 },   // U+003F (?)
    { 0x3E, 0x7F, 0x41, 0x5D, 0x5D, 0x1F, 0x1E, 0x00 },   // U+0040 (@)
    { 0x7C, 0x7E, 0x13, 0x13, 0x7E, 0x7C, 0x00, 0x00 },   // U+0041 (A)
    { 0x41, 0x7F, 0x7F, 0x49, 0x49, 0x7F, 0x36, 0x00 },   // U+0042 (B)
    { 0x1C, 0x3E, 0x63, 0x41, 0x41, 0x63, 0x22, 0x00 },   // U+0043 (C)
    { 0x41, 0x7F, 0x7F, 0x41, 0x63, 0x3E, 0x1C, 0x00 },   // U+0044 (D)
    { 0x41, 0x7F, 0x7F, 0x49, 0x5D, 0x41, 0x63, 0x00 },   // U+0045 (E)
    { 0x41, 0x7F, 0x7F, 0x49, 0x1D, 0x01, 0x03, 0x00 },   // U+0046 (F)
    { 0x1C, 0x3E, 0x63, 0x41, 0x51, 0x73, 0x72, 0x00 },   // U+0047 (G)
    { 0x7F, 0x7F, 0x08, 0x08, 0x7F, 0x7F, 0x00, 0x00 },   // U+0048 (H)
    { 0x00, 0x41, 0x7F, 0x7F, 0x41, 0x00, 0x00, 0x00 },   // U+0049 (I)
    { 0x30, 0x70, 0x40, 0x41, 0x7F, 0x3F, 0x01, 0x00 },   // U+004A (J)
    { 0x41, 0x7F, 0x7F, 0x08, 0x1C, 0x77, 0x63, 0x00 },   // U+004B (K)
    { 0x41, 0x7F, 0x7F, 0x41, 0x40, 0x60, 0x70, 0x00 },   // U+004C (L)
    { 0x7F, 0x7F, 0x0E, 0x1C, 0x0E, 0x7F, 0x7F, 0x00 },   // U+004D (M)
    { 0x7F, 0x7F, 0x06, 0x0C, 0x18, 0x7F, 0x7F, 0x00 },   // U+004E (N)
    { 0x1C, 0x3E, 0x63, 0x41, 0x63, 0x3E, 0x1C, 0x00 },   // U+004F (O)
    { 0x41, 0x7F, 0x7F, 0x49, 0x09, 0x0F, 0x06, 0x00 },   // U+0050 (P)
    { 0x1E, 0x3F, 0x21, 0x71, 0x7F, 0x5E, 0x00, 0x00 },   // U+0051 (Q)
    { 0x41, 0x7F, 0x7F, 0x09, 0x19, 0x7F, 0x66, 0x00 },   // U+0052 (R)
    { 0x26, 0x6F, 0x4D, 0x59, 0x73, 0x32, 0x00, 0x00 },   // U+0053 (S)
    { 0x03, 0x41, 0x7F, 0x7F, 0x41, 0x03, 0x00, 0x00 },   // U+0054 (T)
    { 0x7F, 0x7F, 0x40, 0x40, 0x7F, 0x7F, 0x00, 0x00 },   // U+0055 (U)
    { 0x1F, 0x3F, 0x60, 0x60, 0x3F, 0x1F, 0x00, 0x00 },   // U+0056 (V)
    { 0x7F, 0x7F, 0x30, 0x18, 0x30, 0x7F, 0x7F, 0x00 },   // U+0057 (W)
    { 0x43, 0x67, 0x3C, 0x18, 0x3C, 0x67, 0x43, 0x00 },   // U+0058 (X)
    { 0x07, 0x4F, 0x78, 0x78, 0x4F, 0x07, 0x00, 0x00 },   // U+0059 (Y)
    { 0x47, 0x63, 0x71, 0x59, 0x4D, 0x67, 0x73, 0x00 },   // U+005A (Z)
    { 0x00, 0x7F, 0x7F, 0x41, 0x41, 0x00, 0x00, 0x00 },   // U+005B ([)
    { 0x01, 0x03, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00 },   // U+005C (\)
    { 0x00, 0x41, 0x41, 0x7F, 0x7F, 0x00, 0x00, 0x00 },   // U+005D (])
    { 0x08, 0x0C, 0x06, 0x03, 0x06, 0x0C, 0x08, 0x00 },   // U+005E (^)
    { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 },   // U+005F (_)
    { 0x00, 0x00, 0x03, 0x07, 0x04, 0x00, 0x00, 0x00 },   // U+0060 (`)
    { 0x20, 0x74, 0x54, 0x54, 0x3C, 0x78, 0x40, 0x00 },   // U+0061 (a)
    { 0x41, 0x7F, 0x3F, 0x48, 0x48, 0x78, 0x30, 0x00 },   // U+0062 (b)
    { 0x38, 0x7C, 0x44, 0x44, 0x6C, 0x28, 0x00, 0x00 },   // U+0063 (c)
    { 0x30, 0x78, 0x48, 0x49, 0x3F, 0x7F, 0x40, 0x00 },   // U+0064 (d)
    { 0x38, 0x7C, 0x54, 0x54, 0x5C, 0x18, 0x00, 0x00 },   // U+0065 (e)
    { 0x48, 0x7E, 0x7F, 0x49, 0x03, 0x02, 0x00, 0x00 },   // U+0066 (f)
    { 0x98, 0xBC, 0xA4, 0xA4, 0xF8, 0x7C, 0x04, 0x00 },   // U+0067 (g)
    { 0x41, 0x7F, 0x7F, 0x08, 0x04, 0x7C, 0x78, 0x00 },   // U+0068 (h)
    { 0x00, 0x44, 0x7D, 0x7D, 0x40, 0x00, 0x00, 0x00 },   // U+0069 (i)
    { 0x60, 0xE0, 0x80, 0x80, 0xFD, 0x7D, 0x00, 0x00 },   // U+006A (j)
    { 0x41, 0x7F, 0x7F, 0x10, 0x38, 0x6C, 0x44, 0x00 },   // U+006B (k)
    { 0x00, 0x41, 0x7F, 0x7F, 0x40, 0x00, 0x00, 0x00 },   // U+006C (l)
    { 0x7C, 0x7C, 0x18, 0x38, 0x1C, 0x7C, 0x78, 0x00 },   // U+006D (m)
    { 0x7C, 0x7C, 0x04, 0x04, 0x7C, 0x78, 0x00, 0x00 },   // U+006E (n)
    { 0x38, 0x7C, 0x44, 0x44, 0x7C, 0x38, 0x00, 0x00 },   // U+006F (o)
    { 0x84, 0xFC, 0xF8, 0xA4, 0x24, 0x3C, 0x18, 0x00 },   // U+0070 (p)
    { 0x18, 0x3C, 0x24, 0xA4, 0xF8, 0xFC, 0x84, 0x00 },   // U+0071 (q)
    { 0x44, 0x7C, 0x78, 0x4C, 0x04, 0x1C, 0x18, 0x00 },   // U+0072 (r)
    { 0x48, 0x5C, 0x54, 0x54, 0x74, 0x24, 0x00, 0x00 },   // U+0073 (s)
    { 0x00, 0x04, 0x3E, 0x7F, 0x44, 0x24, 0x00, 0x00 },   // U+0074 (t)
    { 0x3C, 0x7C, 0x40, 0x40, 0x3C, 0x7C, 0x40, 0x00 },   // U+0075 (u)
    { 0x1C, 0x3C, 0x60, 0x60, 0x3C, 0x1C, 0x00, 0x00 },   // U+0076 (v)
    { 0x3C, 0x7C, 0x70, 0x38, 0x70, 0x7C, 0x3C, 0x00 },   // U+0077 (w)
    { 0x44, 0x6C, 0x38, 0x10, 0x38, 0x6C, 0x44, 0x00 },   // U+0078 (x)
    { 0x9C, 0xBC, 0xA0, 0xA0, 0xFC, 0x7C, 0x00, 0x00 },   // U+0079 (y)
    { 0x4C, 0x64, 0x74, 0x5C, 0x4C, 0x64, 0x00, 0x00 },   // U+007A (z)
    { 0x08, 0x08, 0x3E, 0x77, 0x41, 0x41, 0x00, 0x00 },   // U+007B ({)
    { 0x00, 0x00, 0x00, 0x77, 0x77, 0x00, 0x00, 0x00 },   // U+007C (|)
    { 0x41, 0x41, 0x77, 0x3E, 0x08, 0x08, 0x00, 0x00 },   // U+007D (})
    { 0x02, 0x03, 0x01, 0x03, 0x02, 0x03, 0x01, 0x00 },   // U+007E (~)
     */
};

const uint8_t font6x8_basic[][6] = {
    {
        0x00,
        0x00,
        0x00,
        0x00,
        0x00,
        0x00,
    },  //
    {
        0x00,
        0x00,
        0x06,
        0x5F,
        0x06,
        0x00,
    },  // !
    {
        0x00,
        0x07,
        0x03,
        0x00,
        0x07,
        0x03,
    },  // "
    {
        0x00,
        0x24,
        0x7E,
        0x24,
        0x7E,
        0x24,
    },  // #
    {
        0x00,
        0x24,
        0x2B,
        0x6A,
        0x12,
        0x00,
    },  // $
    {
        0x00,
        0x23,
        0x13,
        0x08,
        0x64,
        0x62,
    },  // %
    {
        0x00,
        0x36,
        0x49,
        0x56,
        0x20,
        0x50,
    },  // &
    {
        0x00,
        0x00,
        0x07,
        0x03,
        0x00,
        0x00,
    },  // '
    {
        0x00,
        0x00,
        0x3E,
        0x41,
        0x00,
        0x00,
    },  // (
    {
        0x00,
        0x00,
        0x41,
        0x3E,
        0x00,
        0x00,
    },  // )
    {
        0x00,
        0x08,
        0x3E,
        0x1C,
        0x3E,
        0x08,
    },  // *
    {
        0x00,
        0x08,
        0x08,
        0x3E,
        0x08,
        0x08,
    },  // +
    {
        0x00,
        0x00,
        0xE0,
        0x60,
        0x00,
        0x00,
    },  // ,
    {
        0x00,
        0x08,
        0x08,
        0x08,
        0x08,
        0x08,
    },  // -
    {
        0x00,
        0x00,
        0x60,
        0x60,
        0x00,
        0x00,
    },  // .
    {
        0x00,
        0x20,
        0x10,
        0x08,
        0x04,
        0x02,
    },  // /
    {
        0x00,
        0x3E,
        0x51,
        0x49,
        0x45,
        0x3E,
    },  // 0
    {
        0x00,
        0x00,
        0x42,
        0x7F,
        0x40,
        0x00,
    },  // 1
    {
        0x00,
        0x62,
        0x51,
        0x49,
        0x49,
        0x46,
    },  // 2
    {
        0x00,
        0x22,
        0x49,
        0x49,
        0x49,
        0x36,
    },  // 3
    {
        0x00,
        0x18,
        0x14,
        0x12,
        0x7F,
        0x10,
    },  // 4
    {
        0x00,
        0x2F,
        0x49,
        0x49,
        0x49,
        0x31,
    },  // 5
    {
        0x00,
        0x3C,
        0x4A,
        0x49,
        0x49,
        0x30,
    },  // 6
    {
        0x00,
        0x01,
        0x71,
        0x09,
        0x05,
        0x03,
    },  // 7
    {
        0x00,
        0x36,
        0x49,
        0x49,
        0x49,
        0x36,
    },  // 8
    {
        0x00,
        0x06,
        0x49,
        0x49,
        0x29,
        0x1E,
    },  // 9
    {
        0x00,
        0x00,
        0x6C,
        0x6C,
        0x00,
        0x00,
    },  // :
    {
        0x00,
        0x00,
        0xEC,
        0x6C,
        0x00,
        0x00,
    },  // ;
    {
        0x00,
        0x08,
        0x14,
        0x22,
        0x41,
        0x00,
    },  // <
    {
        0x00,
        0x24,
        0x24,
        0x24,
        0x24,
        0x24,
    },  // =
    {
        0x00,
        0x00,
        0x41,
        0x22,
        0x14,
        0x08,
    },  // >
    {
        0x00,
        0x02,
        0x01,
        0x59,
        0x09,
        0x06,
    },  // ?
    {
        0x00,
        0x3E,
        0x41,
        0x5D,
        0x55,
        0x1E,
    },  // @
    {
        0x00,
        0x7E,
        0x11,
        0x11,
        0x11,
        0x7E,
    },  // A
    {
        0x00,
        0x7F,
        0x49,
        0x49,
        0x49,
        0x36,
    },  // B
    {
        0x00,
        0x3E,
        0x41,
        0x41,
        0x41,
        0x22,
    },  // C
    {
        0x00,
        0x7F,
        0x41,
        0x41,
        0x41,
        0x3E,
    },  // D
    {
        0x00,
        0x7F,
        0x49,
        0x49,
        0x49,
        0x41,
    },  // E
    {
        0x00,
        0x7F,
        0x09,
        0x09,
        0x09,
        0x01,
    },  // F
    {
        0x00,
        0x3E,
        0x41,
        0x49,
        0x49,
        0x7A,
    },  // G
    {
        0x00,
        0x7F,
        0x08,
        0x08,
        0x08,
        0x7F,
    },  // H
    {
        0x00,
        0x00,
        0x41,
        0x7F,
        0x41,
        0x00,
    },  // I
    {
        0x00,
        0x30,
        0x40,
        0x40,
        0x40,
        0x3F,
    },  // J
    {
        0x00,
        0x7F,
        0x08,
        0x14,
        0x22,
        0x41,
    },  // K
    {
        0x00,
        0x7F,
        0x40,
        0x40,
        0x40,
        0x40,
    },  // L
    {
        0x00,
        0x7F,
        0x02,
        0x04,
        0x02,
        0x7F,
    },  // M
    {
        0x00,
        0x7F,
        0x02,
        0x04,
        0x08,
        0x7F,
    },  // N
    {
        0x00,
        0x3E,
        0x41,
        0x41,
        0x41,
        0x3E,
    },  // O
    {
        0x00,
        0x7F,
        0x09,
        0x09,
        0x09,
        0x06,
    },  // P
    {
        0x00,
        0x3E,
        0x41,
        0x51,
        0x21,
        0x5E,
    },  // Q
    {
        0x00,
        0x7F,
        0x09,
        0x09,
        0x19,
        0x66,
    },  // R
    {
        0x00,
        0x26,
        0x49,
        0x49,
        0x49,
        0x32,
    },  // S
    {
        0x00,
        0x01,
        0x01,
        0x7F,
        0x01,
        0x01,
    },  // T
    {
        0x00,
        0x3F,
        0x40,
        0x40,
        0x40,
        0x3F,
    },  // U
    {
        0x00,
        0x1F,
        0x20,
        0x40,
        0x20,
        0x1F,
    },  // V
    {
        0x00,
        0x3F,
        0x40,
        0x3C,
        0x40,
        0x3F,
    },  // W
    {
        0x00,
        0x63,
        0x14,
        0x08,
        0x14,
        0x63,
    },  // X
    {
        0x00,
        0x07,
        0x08,
        0x70,
        0x08,
        0x07,
    },  // Y
    {
        0x00,
        0x71,
        0x49,
        0x45,
        0x43,
        0x00,
    },  // Z
    {
        0x00,
        0x00,
        0x7F,
        0x41,
        0x41,
        0x00,
    },  // [
    {
        0x00,
        0x02,
        0x04,
        0x08,
        0x10,
        0x20,
    },  //
    {
        0x00,
        0x00,
        0x41,
        0x41,
        0x7F,
        0x00,
    },  // ]
    {
        0x00,
        0b01100000,
        0b01011000,
        0b01000100,
        0b01011000,
        0b01100000,
    },  // delta
    {
        0x80,
        0x80,
        0x80,
        0x80,
        0x80,
        0x80,
    },  // _
    {
        0x00,
        0x00,
        0x03,
        0x07,
        0x00,
        0x00,
    },  // `
    {
        0x00,
        0x20,
        0x54,
        0x54,
        0x54,
        0x78,
    },  // a
    {
        0x00,
        0x7F,
        0x44,
        0x44,
        0x44,
        0x38,
    },  // b
    {
        0x00,
        0x38,
        0x44,
        0x44,
        0x44,
        0x28,
    },  // c
    {
        0x00,
        0x38,
        0x44,
        0x44,
        0x44,
        0x7F,
    },  // d
    {
        0x00,
        0x38,
        0x54,
        0x54,
        0x54,
        0x08,
    },  // e
    {
        0x00,
        0x08,
        0x7E,
        0x09,
        0x09,
        0x00,
    },  // f
    {
        0x00,
        0x18,
        0xA4,
        0xA4,
        0xA4,
        0x7C,
    },  // g
    {
        0x00,
        0x7F,
        0x04,
        0x04,
        0x78,
        0x00,
    },  // h
    {
        0x00,
        0x00,
        0x00,
        0x7D,
        0x40,
        0x00,
    },  // i
    {
        0x00,
        0x40,
        0x80,
        0x84,
        0x7D,
        0x00,
    },  // j
    {
        0x00,
        0x7F,
        0x10,
        0x28,
        0x44,
        0x00,
    },  // k
    {
        0x00,
        0x00,
        0x00,
        0x7F,
        0x40,
        0x00,
    },  // l
    {
        0x00,
        0x7C,
        0x04,
        0x18,
        0x04,
        0x78,
    },  // m
    {
        0x00,
        0x7C,
        0x04,
        0x04,
        0x78,
        0x00,
    },  // n
    {
        0x00,
        0x38,
        0x44,
        0x44,
        0x44,
        0x38,
    },  // o
    {
        0x00,
        0xFC,
        0x44,
        0x44,
        0x44,
        0x38,
    },  // p
    {
        0x00,
        0x38,
        0x44,
        0x44,
        0x44,
        0xFC,
    },  // q
    {
        0x00,
        0x44,
        0x78,
        0x44,
        0x04,
        0x08,
    },  // r
    {
        0x00,
        0x08,
        0x54,
        0x54,
        0x54,
        0x20,
    },  // s
    {
        0x00,
        0x04,
        0x3E,
        0x44,
        0x24,
        0x00,
    },  // t
    {
        0x00,
        0x3C,
        0x40,
        0x20,
        0x7C,
        0x00,
    },  // u
    {
        0x00,
        0x1C,
        0x20,
        0x40,
        0x20,
        0x1C,
    },  // v
    {
        0x00,
        0x3C,
        0x60,
        0x30,
        0x60,
        0x3C,
    },  // w
    {
        0x00,
        0x6C,
        0x10,
        0x10,
        0x6C,
        0x00,
    },  // x
    {
        0x00,
        0x9C,
        0xA0,
        0x60,
        0x3C,
        0x00,
    },  // y
    {
        0x00,
        0x64,
        0x54,
        0x54,
        0x4C,
        0x00,
    },  // z
    {
        0x00,
        0x08,
        0x3E,
        0x41,
        0x41,
        0x00,
    },  // {
    {
        0x00,
        0x00,
        0x00,
        0x77,
        0x00,
        0x00,
    },  // |
    {
        0x00,
        0x00,
        0x41,
        0x41,
        0x3E,
        0x08,
    },  // }
    {
        0x00,
        0x02,
        0x01,
        0x02,
        0x01,
        0x00,
    },  // ~
};
